package cheme.ProcessModel.ProcessUnits;

import java.io.Serializable;

import org.eclipse.draw2d.geometry.Point;
import org.w3c.dom.Element;
import org.w3c.dom.Node;

import cheme.ProcessModel.IModelElement;
import cheme.ProcessModel.Visitors.IModelVisitor;

public class TerminalSource extends AbstractTerminal implements ITerminalSource, Serializable
{
	/*
	 * Serialization version identifier. (Set to default for now)
	 */
	
	private static final long serialVersionUID = 1L;

	public TerminalSource(IModelElement parent)
	{
		super(parent);
		init();
	}
	
	public TerminalSource(IModelElement parent, Point centerPoint)
	{
		super(parent, centerPoint);
		init();
	}
	
	public TerminalSource(Element xmlDoc)
	{
		super(xmlDoc);
		init();
	}
	
	private void init()
	{
		initializeStreamCharacteristics(0, UNLIMITED);
	}
	
	public Object accept(IModelVisitor ruleChecker)
	{
		return ruleChecker.visit(this);
	}
	
	public String toXml()
	{
		return super.toXml("TerminalSource");
	}
}
